home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs03.d81 / cad.sfx / figure draw (.txt) < prev    next >
Commodore BASIC  |  1990-02-12  |  2KB  |  88 lines

  1. 1 REM FIGURE DRAW FOR CAD
  2. 2 PRINT"[147][158]":POKE53280,00:POKE53281,00
  3. 3 CLR:DIMA%(255,3):EN=255
  4. 4 X$="[216]:"
  5. 5 Y$="[217]:"
  6. 6 PRINTCHR$(14)"[147][210]EFERENCE (L,R,T,B)":R=1
  7. 7 GETA$:IFA$=""THEN7
  8. 8 IFA$="R"THENR=2
  9. 9 IFA$="T"THENR=3
  10. 10 IFA$="B"THENR=4
  11. 11 ONRGOSUB34,35,36,37
  12. 12 FORS=1024TO2023:POKES,32:NEXT
  13. 13 PRINT"";:PRINTTAB(18);"[216]:"
  14. 14 PRINT"";:PRINTTAB(28);"[217]:"
  15. 15 POKESP,91:POKECP,08
  16. 16 PRINTX$;X;"[157]   ";Y$;Y;"[157]   "
  17. 17 GETA$:IFA$<>""THEN23
  18. 18 POKESP+X+40*Y,PEEK(SP+X+40*Y)AND127
  19. 19 JV=PEEK(56320):FR=JVAND16:IFFR=0THENGOSUB28
  20. 20 JV=15-(JVAND15):IFJV=15THEN17
  21. 21 ONRGOSUB38,43,48,53
  22. 22 POKESP+X+40*Y,PEEK(SP+X+40*Y)OR128:POKECP+X+40*Y,08:GOTO16
  23. 23 IFA$=CHR$(20)THENGOSUB30
  24. 24 IFA$=CHR$(136)THENGOSUB58
  25. 25 IFA$=CHR$(140)THENGOSUB75:RUN
  26. 26 IFA$=CHR$(147)THEN3
  27. 27 POKESP+X+40*Y,PEEK(SP+X+40*Y)OR128:GOTO17
  28. 28 P=P+1:A%(P,1)=X:A%(P,2)=Y:A%(P,3)=1:POKESP+X+40*Y,128+102:POKECP+X+40*Y,08
  29. 29 RETURN
  30. 30 FORCL=1TO255
  31. 31 IFA%(CL,1)<>XTHENNEXT:RETURN
  32. 32 IFA%(CL,2)<>YTHENNEXT:RETURN
  33. 33 POKESP+A%(CL,1)+A%(CL,2)*40,32:A%(CL,3)=0:NEXT:RETURN
  34. 34 SP=1504:CP=55776:RETURN
  35. 35 SP=1543:CP=55815:RETURN
  36. 36 SP=1083:CP=55355:RETURN
  37. 37 SP=2003:CP=56275:RETURN
  38. 38 IF(JVAND1)THENY=Y-1:IFY<-11THENY=-11
  39. 39 IF(JVAND2)THENY=Y+1:IFY>12THENY=12
  40. 40 IF(JVAND4)THENX=X-1:IFX<0THENX=0
  41. 41 IF(JVAND8)THENX=X+1:IFX>39THENX=39
  42. 42 RETURN
  43. 43 IF(JVAND1)THENY=Y-1:IFY<-11THENY=-11
  44. 44 IF(JVAND2)THENY=Y+1:IFY>12THENY=12
  45. 45 IF(JVAND4)THENX=X-1:IFX<-40THENX=-40
  46. 46 IF(JVAND8)THENX=X+1:IFX>0THENX=0
  47. 47 RETURN
  48. 48 IF(JVAND1)THENY=Y-1:IFY<0THENY=0
  49. 49 IF(JVAND2)THENY=Y+1:IFY>23THENY=23
  50. 50 IF(JVAND4)THENX=X-1:IFX<-19THENX=-19
  51. 51 IF(JVAND8)THENX=X+1:IFX>20THENX=20
  52. 52 RETURN
  53. 53 IF(JVAND1)THENY=Y-1:IFY<-23THENY=-23
  54. 54 IF(JVAND2)THENY=Y+1:IFY>0THENY=0
  55. 55 IF(JVAND4)THENX=X-1:IFX<-19THENX=-19
  56. 56 IF(JVAND8)THENX=X+1:IFX>20THENX=20
  57. 57 RETURN
  58. 58 PRINT"[147][204][207][193][196] FILENAME:";
  59. 59 GETF$:IFF$=""THEN59
  60. 60 IFF$=CHR$(13)THENRETURN
  61. 61 OPEN2,8,2,F$+".FIG,P,R":P1=0
  62. 62 FORT=1TO2
  63. 63 GET#2,A$(T)
  64. 64 NEXT
  65. 65 P1=P1+1:FORT=1TO2
  66. 66 GET#2,A$:IFA$=CHR$(255)THEN71
  67. 67 REM IFA$=""THEN67
  68. 68 A=ASC(A$+CHR$(0))
  69. 69 IFA>127THENA=-(AAND127)
  70. 70 A%(P1,T)=A:NEXT:A%(P1,3)=1:GOTO65
  71. 71 CLOSE2
  72. 72 PRINT"[147]":FORT=1TOP1-1:IFA%(T,3)=0THENNEXT:GOTO74
  73. 73 X1=A%(T,1):Y1=A%(T,2):POKESP+X1+40*Y1,128+102:POKECP+X1+40*Y1,08:NEXT
  74. 74 P=P1-1:RETURN
  75. 75 PRINT"[147][211][193][214][197] FILENAME:";
  76. 76 GETF$:IFF$=""THEN76
  77. 77 IFF$=CHR$(13)THEN87
  78. 78 OPEN2,8,2,"@0:"+F$+".FIG,P,W":P1=0
  79. 79 PRINT#2,CHR$(0);CHR$(158);
  80. 80 P1=P1+1:IFP1=P+1THEN86
  81. 81 IFA%(P1,3)=0THEN80
  82. 82 FORT=1TO2
  83. 83 IFA%(P1,T)<0THENA%(P1,T)=(ABS(A%(P1,T))OR128)
  84. 84 NEXT
  85. 85 PRINT#2,CHR$(A%(P1,1));:PRINT#2,CHR$(A%(P1,2));:GOTO80
  86. 86 PRINT#2,CHR$(255);CHR$(255);:CLOSE2:PRINT"[147]"
  87. 87 RETURN
  88.